﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DAL;
using UtilityExtensions;
using System.Configuration;
using System.IO;
namespace UILGestion.Admin
{
    public partial class ImagenSetForm : System.Web.UI.Page
    {



        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {

           
            var id = (string)Request.QueryString["id"];
            var type = (string)Request.QueryString["type"];


            var context = HttpContext.Current;

            switch (type)
            {
                case "FirmaEmp":
                    Empleado empleado = DbUtil.Db.Empleados.Single(p => p.idInternal == id.ToInt());
                    
                    string ruta = "~/App_Data/Empleado/Firma/{0}/{1}".Fmt(empleado.idInternal,empleado.firma);
                    var w= File.ReadAllBytes(context.Server.MapPath(ruta));
                    context.Response.ContentType = "image/png";
                    context.Response.BinaryWrite(w);
                    break;

                default:
                    var archivo = DbUtil.Db.Archivos.SingleOrDefault(p => p.idInternal == id.ToInt());
                    string directorio = ConfigurationManager.AppSettings["FileDocumento"].ToString();
                    string archivoStr = directorio + archivo.ruta + archivo.descripcion;
                    context.Response.ContentType = archivo.tipo;
                     var u = HttpContext.Current.Cache[archivo.descripcion] as Byte[];
                      if (u == null)
                            {
                                u = File.ReadAllBytes(context.Server.MapPath(archivoStr));
                                HttpContext.Current.Cache[archivo.descripcion] = u;
                            }
                            context.Response.BinaryWrite(u);

                    break;


            }




            }
            catch (Exception)
            {

                //throw new Exception("No existe IMAGEN");
            }



        }
    }
}